The use of miniature computers such as personal digital assistants (PDA) and cellular devices capable of text messaging and text based communication has become increasingly popular. Email and SMS are examples of modem communication means which are widely used. Such miniature devices include correspondingly miniature sized input mechanisms. Typically PDA's and the like utilize a miniature keyboard or a multi-tap data entry mechanism. The miniature size of the input mechanism makes it impractical to enter large amounts of text, and it is desirable to minimize the number of keystrokes necessary to enter text. Entering a message text is in particular burdensome on small handheld devices which do not have a full standard keyboard such as mobile/cellular phones, PDAs, wireless devices, pagers, etc. In devices with only numeric keypads, every key is assigned to multiple letters and the user has to select the desired letter by pressing the corresponding digit key multiple times (multi-tap approach).
One approach to ease text input is to employ a dictionary of known words. The user presses the digit keys corresponding to the letters of the word only once (single-tap approach). Based on already entered keys, the system searches for dictionary words that match the entered key sequence and displays a matching candidate from the dictionary. The user continues until keys for all letters of the intended word have been entered. In the optimal case, the correct word is directly displayed as proposed candidate. Otherwise, the user can go through the other dictionary words matching the entered key sequence in order to search the intended word. Quite often the intended word is not listed in the dictionary and needs to be entered separately, e.g., using the multi-tap approach.
When selecting the intended word from matching dictionary words, the candidates are usually presented individually and sequentially in the form of a linear list. Thus, many cursor key strokes may be necessary to scroll down the list starting from the system proposed candidate to reach and select the intended word. This makes entering text still a laborious task for users of handheld devices.
When the input method comprises a word prediction component that predicts words depending on the context of the text written so far, there is also a problem of efficiency. A prediction algorithm will always predict multiple candidate words for a given context, usually these candidate words will be ranked by some score indicating their appropriateness for the present context. If these words are given in a candidate list, the user has to scroll down the list in order to highlight the word and click OK to select it. If the word is on the third spot on the list, the user has to click three times (2× down, 1× OK), if it is on the fourth spot, he/she has to click four times, and so on. Thus the value (in terms of usability and efficiency/number of clicks) of a good prediction algorithm is strongly diminished by the procedure for selecting the word. Note that English words are usually 3.9 letters long (German: 4.5), i.e. it is not very efficient to display predictions in a drop down list when it may take four clicks to select the word and it would also take four clicks to enter the word using a single tap algorithm. Thus, next word prediction would enhance efficiency only when there is an efficient method to select the predictions.